package com.ruoyi.video.mapper;

import com.ruoyi.common.domain.video.VideoDir;
import com.ruoyi.common.domain.video.VideoFile;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;


/**
 * 視頻目錄管理 数据层
 * 
 * @author ruoyi
 */
public interface VideoFileMapper extends Mapper<VideoFile>
{
    /**
     * 查询部门管理数据
     * 
     * @param record 信息
     * @return 信息集合
     */
    public List<VideoDir> selectDirList(VideoDir record);


    /**
     * 根据部门ID查询信息
     * 
     * @param id 部门ID
     * @return 部门信息
     */
    public VideoDir selectDirById(Long id);

    /**
     * 是否存在子节点
     * 
     * @param id 部门ID
     * @return 结果
     */
    public int hasChildByDirId(Long id);

    /**
     * 查询部门是否存在用户
     * 
     * @param id 部门ID
     * @return 结果
     */
    public int checkDirExistUser(Long id);

    /**
     * 校验部门名称是否唯一
     * 
     * @param name 部门名称
     * @param parentId 父部门ID
     * @return 结果
     */
    public VideoDir checkDirNameUnique(@Param("name") String name, @Param("parentId") Long parentId);

    /**
     * 修改所在部门正常状态
     * 
     * @param ids 部门ID组
     */
    public void updateDirStatusNormal(Long[] ids);

    /**
     * 修改子元素关系
     * 
     * @param dirs 子元素
     * @return 结果
     */
    public int updateDirChildren(@Param("dirs") List<VideoDir> dirs);

}
